The present invention relates in general to a graphical user interface for a computer system. In particular, it relates to a directory tree interface. More particularly, the present invention relates to a method and system for scrollable sections of a directory tree.
It is common to provide a graphical user interface (GUI) for user interaction with a computer system. The GUI presents information about the computer and its components, both hardware and software to the user. Through the user of graphical objects such as windows, icons and controls, the user is shown what software modules are available for selection and execution. One of the more prevalent GUIs is a directory tree structure. A directory tree allows the software designer or a user to organize software applications or files which have related subject matter or a common theme. By representing software applications or hardware devices as nodes or members in a directory tree, the hierarchical configuration can be used to show logical groupings and relationships between logical groupings of files or devices.
One prevalent use for a directory tree is as a graphic display which lists the directories and subdirectories which are stored in electronically retrievable media such as a disk drive. A directory is a cataloging mechanism for files and subordinate directories often referred to as subdirectories. User selectable items are thus presented in a xe2x80x9ctreexe2x80x9d structure, hence the term xe2x80x9cdirectory treexe2x80x9d. Nonetheless, a directory tree need not be used solely for portraying an organized list of directories and subdirectories, but can be used for any type of files, logical file system objects, software tools or object attributes as well as representations of hardware. Within the directory tree structure, a user can select and manipulate files represented by members within the tree utilizing a mouse, keyboard or other input device. User selection via a mouse can be accomplished by xe2x80x9cpointing and clickingxe2x80x9d on a selectable feature on the computer display.
The directory tree may represent software and hardware which is not physically part of the user""s computer system, but is available via a network. Users of a directory tree need not be aware of which physical system retrieves or implements a file in response to the selection of an icon. Directory trees provide a flexible means for selection of software tools because portions of files, file management systems and software tools might be physically in remote or different locations within a computer memory structure.
While the directory tree structure is useful and is quite prevalent within the operating systems and applications of most present day computers, when the tree structure is large, it can become unwieldy for a user to manipulate and understand the directory structure. For example, in the process of organizing a directory tree, one of the more common operations performed by a user is to drag and drop an icon representing a file from a source container, or source position in the tree, into a desired target subdirectory. When the directory and/or subdirectories are large, the tree expands to a long flat file. It is often difficult to have both the source and target locations on the display at the same time. Therefore, process of organizing a large directory tree is more time consuming than is desirable.
The existing directory tree controls and editing features are limited in function. Currently, most trees have a control which allows a given subdirectory to be hidden or collapsed from view. This operation tends to be an xe2x80x9call or nothingxe2x80x9d choice of views. Where the desired target is in a large subdirectory, this is less than ideal. The majority of items within the target subdirectory may be irrelevant to a current task, yet individual members cannot be hidden or removed from sight. This takes up valuable display space and necessitates more manipulation by the user to scroll through irrelevant entries.
The lack of good directory tree controls is becoming a significant problem for users as the number of files and directories within a computer that a user must manage is growing at a significant rate. The large memory capacity now available in modern personal computers has been utilized by application writers to create software with an increasing number of components. Further, the linking of external memory through interconnected computers has further increased the proliferation of the number of files, software tools and other system objects which are accessible to and often displayed in a directory tree format to a user.
It would be therefore be desirable to provide a computer user with an improved a directory tree interface that allows the user to see both the target and source locations for a given file relocation. It would also be desirable that the directory tree interface present the hierarchical structure of the tree to provide the understanding of the directory. The interface must be flexible enough to allow a user to edit one section of a directory tree to perform a specific task, and then, after the specific task is complete, rearrange the directory tree to show other portions of the directory tree.
Hence, an improved method for making a directory tree more manageable would be helpful. A directory tree management system having functionality which is tightly coupled or substantially similar in operation to the existing graphical user interface control features is also desirable.
It is therefore one object of the present invention to provide an improved directory tree user interface.
It is another object of the present invention to use similar and understandable procedures existing graphical user interfaces so that the function the improved directory tree interface would be easily understood.
It is yet another object of the present invention to more easily add and rearrange objects in the directory tree.
The foregoing objects are achieved by managing a directory tree within a graphical user interface. The directory tree is displayed and a command is detected to expand a subsection of the directory tree. It is determined whether certain criteria are met for displaying the subsection in a scrollable region within the directory tree. The subsection is presented in the scrollable region if the criteria are met, so that a greater number of members of the directory tree outside the subsection can be displayed within the graphical user interface. Some of the criteria which can be used to determine whether a scrollable subsection should be used include: whether the subsection has more than a predetermined number of members; whether all members of a root node directory of the tree can be displayed if the subsection is fully expanded; and whether the subsection is at a predetermined depth in the directory tree structure.
The above as well as additional objects, features, and advantages of the present invention will become apparent in the following detailed written description.